package com.ruoyi.app.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * APP套餐业务对象 app_package
 *
 * @author ruoyi
 * @date 2025-06-21
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class AppPackageBo extends BaseEntity {

    /**
     * ID
     */
    private Long packageId;

    /**
     * 套餐名称
     */
    @NotBlank(message = "套餐名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String packageName;

    private String packageImage;

    /**
     * 套餐价格
     */
    @NotNull(message = "套餐价格不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal packagePrice;

    /**
     * 套餐收益价格
     */
    @NotNull(message = "套餐收益价格不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal packageIncome;

    /**
     * 奖励活跃度
     */
    private BigDecimal packageLiveness;

    /**
     * 收益天数
     */
    @NotNull(message = "收益天数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long incomeDay;

    /**
     * 收益最大天数
     */
    @NotNull(message = "收益最大天数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long incomeMaxDay;

    /**
     * 持有最大数量
     */
    @NotNull(message = "持有最大数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long maxNumber;

    /**
     * 持有数量0=无限制
     */
    private Long exchangeNumber;

    /**
     * 是否默认(1=否，0=是)
     */
    @NotBlank(message = "是否默认(1=否，0=是)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

    /**
     * 备注
     */
    private String remark;



    private String userName;
}
